package com.baiytfp.hf.HFDataExchange.common.model.state;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public enum TreeType { //树类别

	SYS_MENU(1, "超级管理后台菜单"), 
	CMS_MENU(2, "信息发布系统信息类别"), 
	DATA_DICT(9, "数据字典"), 
	USER_DEPT(11, "组织架构"), 
	AUTH_FUNC(12, "权限功能树"), 
	NORMAL_ATTACH(31, "通用附件模块类别"), 
	MANAGE_MENU(100, "系统菜单"),
	MANAGE_FUNC(210, "功能菜单"),
	AREA(101, "国家地区");

	//特殊处理方法，不属于枚举一般方法
	public static Map getTreeType() {
		Map map = new HashMap();
		map.put("SYS_MENU", TreeType.SYS_MENU.getKey());
		map.put("CMS_MENU", TreeType.CMS_MENU.getKey());
		map.put("DATA_DICT", TreeType.DATA_DICT.getKey());
		map.put("USER_DEPT", TreeType.USER_DEPT.getKey());
		map.put("AUTH_FUNC", TreeType.AUTH_FUNC.getKey());
		map.put("NORMAL_ATTACH", TreeType.NORMAL_ATTACH.getKey());
		map.put("MANAGE_MENU", TreeType.MANAGE_MENU.getKey());
		map.put("AREA", TreeType.AREA.getKey());

		return map;
	}
	
	
	private Integer key;
	private String value;

	public Integer getKey() {
		return key;
	}

	public void setKey(Integer key) {
		this.key = key;
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	private TreeType(Integer key, String value) {
		this.key = key;
		this.value = value;
	}

	// 普通方法
	// 取得 value
	public static String getValue(int index) {
		for (TreeType item : TreeType.values()) {
			if (item.getKey() == index) {
				return item.value;
			}
		}
		return null;
	}

	// 把 enum 转为 list 使用
	public static List<Map> getList() {
		List<Map> list = new ArrayList();
		Map map = null;
		for (TreeType item : TreeType.values()) {
			map = new HashMap();
			map.put("key", item.getKey());
			map.put("value", item.getValue());

			list.add(map);
		}
		return list;
	}
	
	
}
